// samsting : this file is auto create.

#ifndef ALIYUN_Sts_AssumeRoleResponse_H_
#define ALIYUN_Sts_AssumeRoleResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Sts {

class AssumeRoleResponse : public AcsResponse {
public:
  AssumeRoleResponse();

  class Credentials {
    friend class AssumeRoleResponse;
  public:
    const string& GetSecurityToken(void) const;
    const string& GetAccessKeySecret(void) const;
    const string& GetAccessKeyId(void) const;
    const string& GetExpiration(void) const;
  private:
    string SecurityToken_;
    string AccessKeySecret_;
    string AccessKeyId_;
    string Expiration_;
  }; // Credentials 


  class AssumedRoleUser {
    friend class AssumeRoleResponse;
  public:
    const string& GetArn(void) const;
    const string& GetAssumedRoleId(void) const;
  private:
    string Arn_;
    string AssumedRoleId_;
  }; // AssumedRoleUser 

  const Credentials& GetCredentials(void) const;
  const AssumedRoleUser& GetAssumedRoleUser(void) const;

private:
  Credentials Credentials_;
  AssumedRoleUser AssumedRoleUser_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Sts {

#endif // #ifndef ALIYUN_Sts_AssumeRoleResponse_H_

// end of file 
